package top.infopub.mgr.hr.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.github.pagehelper.Page;

import top.infopub.generic.GenericDao;
import top.infopub.model.hr.PostGroupInfo;
import top.infopub.model.hr.PostInfo;

/** 岗位信息(HR_POST_INFO) **/
public interface PostInfoDao extends GenericDao<PostInfo, String> {

    /**
     * 批量插入岗位记录
     * @param postInfos
     * @see
     */
    void insertByBatch(@Param("list")List<PostInfo> postInfos);

    /**
     * 根据公司id删除部门记录
     * @param orgId 公司Id
     * @see
     */
    void deleteByOrgId(String orgId);

    /**
     * 根据部门id查询岗位记录
     * @param deptId 部门Id
     * @return
     * @see
     */
    List<PostInfo> selectByDeptId(String deptId);

    /**
     * 根据条件查询岗位记录
     * @param postInfo
     * @return
     * @see
     */
    Page<PostInfo> selectByDomainWhere(PostInfo postInfo);

    /**
     * 根据名称和部门id查询是否存在
     * @param postName 岗位名称
     * @param deptId 部门id
     * @param id 主键id
     * @return
     * @see
     */
    List<PostInfo> selectByPostNameAndId(@Param("postName")String postName, @Param("deptId")String deptId, @Param("id")String id);

    List<PostInfo> selectByGroupId(@Param("groupId")String groupId,@Param("roleType")String roleType);

    List<PostInfo> selectPostByName(@Param("postName")String postName,@Param("type")String type);

    List<PostGroupInfo> selectPostGroupInfo(@Param("groupId") String groupId, @Param("roleType") String roleType);

}
